package com.dao.qm;

import com.model.qm.PartsDetailModel;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * @author 10961
 */
public interface PartsDetailDao {

    /**
     * 新增
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    int insert(PartsDetailModel partsDetailModel);


    int deleteByDeaId(String deaId);

    List<PartsDetailModel> selectByDeaId(String deaId);

    /**
     * 刪除
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    int delete(@Param("deaId") String deaId);

    /**
     * 根据parId刪除
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    int deleteByParId(@Param("parId") String parId);

    /**
     * 根据procId刪除
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    int deleteByProcIdAndParid(@Param("parId") String parId, @Param("procId") String procId);

    /**
     * 更新
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    int update(PartsDetailModel partsDetailModel);

    /**
     * 查询 根据主键 id 查询
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    PartsDetailModel load(String deaId);

    /**
     * 查询 根据主键 id 、检验批id、工序id查询
     *
     * @author chenjun
     * @date 2022/03/10
     **/
    PartsDetailModel loadUnique(@Param("deaId") String deaId,@Param("procId") String procId,@Param("parId") String parId);


    // 列表
    List<PartsDetailModel> selectList(Map<String, Object> map);

    // 列表总数
    int selectListCount(Map<String, Object> map);

    String queryPartsOptions(@Param("deaId") String deaId, @Param("type") String type);
}